package com.realjinge.utils;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * 
 * @author WWKJ0123
 *
 */
public class MD5Util {

	/**
	 * MD5加密的密码验证
	 * 
	 * @param password
	 * @param MD5pwd
	 * @return boolean(true/false)
	 */
	public static boolean checkMD5(String password, String MD5pwd) {
		return (getMD5(password).equals(MD5pwd)) ? true : false;
	}

	/**
	 * 获取MD5加密后的密码
	 * 
	 * @param password
	 * @return MD5pwd
	 */
	public static String getMD5(String password) {
		try {
			MessageDigest md5 = MessageDigest.getInstance("MD5");
			md5.update(password.getBytes("UTF-8"));
			byte[] encryption = md5.digest();

			StringBuffer strBuf = new StringBuffer();
			for (int i = 0; i < encryption.length; i++) {
				if (Integer.toHexString(0xff & encryption[i]).length() == 1) {
					strBuf.append("0").append(Integer.toHexString(0xff & encryption[i]));
				} else {
					strBuf.append(Integer.toHexString(0xff & encryption[i]));
				}
			}
			return strBuf.toString().toUpperCase();
		} catch (NoSuchAlgorithmException e) {
			return "";
		} catch (UnsupportedEncodingException e) {
			return "";
		}
	}
}
